package main

import "fmt"

func main() {
	var ch chan string
	//ch 等于 nil，而我们试图在 select 中读取 ch（第 8 行）。
	// 如果没有默认情况，select 会一直阻塞，导致死锁。由于我们在 select 内部加入了默认情况，程序会执行它
	select {
	case v := <-ch:
		fmt.Println("received value", v)
	default:
		fmt.Println("default case executed")

	}
}